.banner {
  position: relative;
}
.banner img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner .text {
  position: absolute;
  left: 0;
  top: 16.6666666667vw;
  width: 100%;
  padding: 0 16.3541666667vw;
}
.banner .text h1 {
  color: rgba(255, 255, 255, 0.48);
  line-height: 1;
  margin-bottom: 3.125vw;
  font-weight: 600;
}
.banner .text .p2 {
  color: #FFF;
  text-align: right;
}
.banner .scroll {
  position: absolute;
  left: 8.3333333333vw;
  bottom: 4.8958333333vw;
  display: flex;
  align-items: center;
}
.banner .scroll p {
  font-size: 0.625vw;
  font-weight: 500;
  color: white;
}
.banner .scroll .line {
  width: 0.2083333333vw;
  height: 2.0833333333vw;
  background: rgba(255, 255, 255, 0.1);
  margin-left: 1.0416666667vw;
  position: relative;
  overflow: hidden;
}
.banner .scroll .line span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0.2083333333vw;
  background: white;
  animation: goDown 2s linear infinite;
}
@keyframes goDown {
  to {
    top: 100%;
  }
}

@media screen and (max-width: 768px) {
  .banner .text {
    top: 50%;
    transform: translateY(-50%);
    padding: 0 5%;
  }
  .banner .text h1 {
    margin-bottom: 20px;
    font-size: 26px;
  }
  .banner .text .p2 {
    font-size: 18px;
  }
  .banner .scroll {
    left: 5%;
    bottom: 30px;
  }
  .banner .scroll p {
    font-size: 12px;
  }
  .banner .scroll .line {
    width: 4px;
    height: 40px;
    margin-left: 10px;
  }
  .banner .scroll .line span {
    height: 4px;
  }
}